﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using negocios;
using publico;
using objetos;

namespace softsales.pagina.nf_parametro
{
    public partial class nf_parametro_formulario : System.Web.UI.Page 
    {

        OBJ_TB_NF_PARAMETRO o_nf_parametro = new OBJ_TB_NF_PARAMETRO();
        BLL_TB_NF_PARAMETRO b_nf_parametro = new BLL_TB_NF_PARAMETRO();

        BLL_TB_NF_AMBIENTE b_tb_nf_ambiente = new BLL_TB_NF_AMBIENTE();
        BLL_TB_NF_TIPO_EMISSAO b_tb_nf_tipo_emissao = new BLL_TB_NF_TIPO_EMISSAO();
        BLL_TB_NF_VERSAO b_tb_nf_versao = new BLL_TB_NF_VERSAO();
        BLL_TB_NF_PROCESSO_EMISSAO b_tb_nf_processo_emissao = new BLL_TB_NF_PROCESSO_EMISSAO();
        BLL_TB_NF_FORMA_IMPRESSAO b_tb_forma_impressao = new BLL_TB_NF_FORMA_IMPRESSAO();

        BLL_TB_UF b_tb_uf = new BLL_TB_UF();
        BLL_TB_EMPRESA b_tb_empresa = new BLL_TB_EMPRESA();
        protected void Page_Load(object sender, EventArgs e)
        {

            if (PUB_SESSAO.Logado())
            {
                if (!IsPostBack)
                {

                    b_tb_empresa.PreencheControleWeb(DDL_ID_EMPRESA, true);
                    b_tb_nf_ambiente.PreencheControle(DDL_ID_TIPO_AMBIENTE, true);
                    b_tb_nf_tipo_emissao.PreencheControleWeb(DDL_ID_TIPO_EMISSAO, true);
                    b_tb_nf_versao.PreencheControle(DDL_ID_VERSAO, true);
                    b_tb_nf_processo_emissao.PreencheControle(DDL_ID_PROCESSO_EMISSAO, true);
                    b_tb_forma_impressao.PreencheControle(DDL_ID_FORMA_IMPRESSAO, true);
                    b_tb_uf.PreencheControle(DDL_ID_UF, true);
        
                    if (Request["id"] != null)
                    {

                        if (PUB_FUNCOES.ApenasInteiro(Request["id"].ToString()))
                        {
                            LBL_TITULO_PAGINA.Text = "Editar NFe Parametros";
                            Editar(Request["id"].ToString());

                        }
                        

                    }
                    else
                    {
                        LBL_TITULO_PAGINA.Text = "Incluir NFe Parametros";
                    }
                    
                    


                }



            }

        }
        
        private void Editar(String id)
        {

            o_nf_parametro = b_nf_parametro.SelecionarObjetoPorId(Convert.ToInt32(id));

            DDL_ID_EMPRESA.SelectedValue = o_nf_parametro.id_empresa.ToString();
            DDL_ID_PROCESSO_EMISSAO.SelectedValue = o_nf_parametro.id_processo_emissao.ToString();
            DDL_ID_TIPO_AMBIENTE.SelectedValue = o_nf_parametro.id_tipo_ambiente.ToString();
            DDL_ID_TIPO_EMISSAO.SelectedValue = o_nf_parametro.id_tipo_emissao.ToString();
            DDL_ID_FORMA_IMPRESSAO.SelectedValue = o_nf_parametro.id_forma_impressao.ToString();
            DDL_ID_VERSAO.SelectedValue = o_nf_parametro.id_versao.ToString();
            DDL_ID_UF.SelectedValue = o_nf_parametro.id_uf.ToString();
            TXT_DESCRICAO_JUSTIFICATIVA.Text = o_nf_parametro.desc_justificativa.ToString();
            TXT_DIRETORIO_APROVADA.Text = o_nf_parametro.diretorio_aprovada.ToString();
            TXT_DIRETORIO_ASSINADA.Text = o_nf_parametro.diretorio_assinada.ToString();
            TXT_DIRETORIO_CONSULTADA.Text = o_nf_parametro.diretorio_consultada.ToString();
            TXT_DIRETORIO_DENEGADA.Text = o_nf_parametro.diretorio_denegada.ToString();
            TXT_DIRETORIO_ENTRADA.Text = o_nf_parametro.diretorio_entrada.ToString();
            TXT_DIRETORIO_IMPRESSAO.Text = o_nf_parametro.diretorio_impressao.ToString();
            TXT_DIRETORIO_INUTILIZADA.Text = o_nf_parametro.diretorio_inutilizada.ToString();
            TXT_DIRETORIO_REJEITADA.Text = o_nf_parametro.diretorio_rejeitada.ToString();
            TXT_DIRETORIO_REPROVADA.Text = o_nf_parametro.diretorio_reprovada.ToString();
            TXT_DIRETORIO_SAIDA.Text = o_nf_parametro.diretorio_saida.ToString();            
            TXT_DIRETORIO_TEMPORARIO.Text = o_nf_parametro.diretorio_temporario.ToString();
            TXT_DIRETORIO_VALIDADA.Text = o_nf_parametro.diretorio_validada.ToString();
            TXT_DIRETORIO_CERTIFICADO.Text = o_nf_parametro.diretorio_certificado.ToString();
            TXT_DOMINIO_PROXY.Text = o_nf_parametro.dominio_proxy.ToString();
            TXT_NOME_CERTIFICADO.Text = o_nf_parametro.nome_certificado.ToString();
            TXT_SENHA_PROXY.Text = o_nf_parametro.senha_proxy.ToString();       
            TXT_USUARIO_PROXY.Text = o_nf_parametro.usuario_proxy.ToString();
            TXT_URL_PROXY.Text = o_nf_parametro.url_proxy.ToString();
            TXT_SENHA_CERTIFICADO.Text = o_nf_parametro.senha_certificado.ToString();
            TXT_CODIGO_ACESSO.Text = o_nf_parametro.licenca.ToString();
            CHK_SIT_USA_PROXY.Checked = o_nf_parametro.sit_usa_proxy;
            HF_ID.Value = o_nf_parametro.id.ToString();

        }

        protected void BTN_SALVAR_Click(object sender, EventArgs e)
        {
            try
            {
                string msg = string.Empty;
                if (DDL_ID_EMPRESA.SelectedValue != string.Empty)
                {

                    o_nf_parametro.licenca = TXT_CODIGO_ACESSO.Text;
                    o_nf_parametro.desc_justificativa = TXT_DESCRICAO_JUSTIFICATIVA.Text;
                    o_nf_parametro.diretorio_aprovada = TXT_DIRETORIO_APROVADA.Text;
                    o_nf_parametro.diretorio_assinada = TXT_DIRETORIO_ASSINADA.Text;
                    o_nf_parametro.diretorio_consultada = TXT_DIRETORIO_CONSULTADA.Text;
                    o_nf_parametro.diretorio_denegada = TXT_DIRETORIO_DENEGADA.Text;
                    o_nf_parametro.diretorio_entrada = TXT_DIRETORIO_ENTRADA.Text;
                    o_nf_parametro.diretorio_impressao = TXT_DIRETORIO_IMPRESSAO.Text;
                    o_nf_parametro.diretorio_inutilizada = TXT_DIRETORIO_INUTILIZADA.Text;
                    o_nf_parametro.diretorio_rejeitada = TXT_DIRETORIO_REJEITADA.Text;
                    o_nf_parametro.diretorio_reprovada = TXT_DIRETORIO_REPROVADA.Text;
                    o_nf_parametro.diretorio_saida = TXT_DIRETORIO_SAIDA.Text;
                    o_nf_parametro.diretorio_temporario = TXT_DIRETORIO_TEMPORARIO.Text;
                    o_nf_parametro.diretorio_validada = TXT_DIRETORIO_VALIDADA.Text;
                    o_nf_parametro.diretorio_certificado = TXT_DIRETORIO_CERTIFICADO.Text;
                    o_nf_parametro.dominio_proxy = TXT_DOMINIO_PROXY.Text;
                    o_nf_parametro.id_forma_impressao = Convert.ToInt32(DDL_ID_FORMA_IMPRESSAO.SelectedValue);
                    o_nf_parametro.id_empresa = Convert.ToInt32(DDL_ID_EMPRESA.SelectedValue);
                    o_nf_parametro.id_processo_emissao = Convert.ToInt32(DDL_ID_PROCESSO_EMISSAO.SelectedValue);
                    o_nf_parametro.id_tipo_ambiente = Convert.ToInt32(DDL_ID_TIPO_AMBIENTE.SelectedValue);
                    o_nf_parametro.id_tipo_emissao = Convert.ToInt32(DDL_ID_TIPO_EMISSAO.SelectedValue);
                    o_nf_parametro.id_versao = Convert.ToInt32(DDL_ID_VERSAO.SelectedValue);
                    o_nf_parametro.id_uf = Convert.ToInt32(DDL_ID_UF.SelectedValue);
                    o_nf_parametro.nome_certificado = TXT_NOME_CERTIFICADO.Text;
                    o_nf_parametro.senha_certificado = TXT_SENHA_CERTIFICADO.Text;
                    o_nf_parametro.senha_proxy = TXT_SENHA_PROXY.Text;
                    o_nf_parametro.sit_usa_proxy = CHK_SIT_USA_PROXY.Checked;
                    o_nf_parametro.url_proxy = TXT_URL_PROXY.Text;
                    o_nf_parametro.usuario_proxy = TXT_USUARIO_PROXY.Text;



                    if (HF_ID.Value != string.Empty)
                    {
                        o_nf_parametro.id = Convert.ToInt32(HF_ID.Value.ToString());
                        b_nf_parametro.Alterar(o_nf_parametro);
                        msg = PUB_MENSAGEM.MSG_ALTERACAO;
                    }
                    else
                    {
                        b_nf_parametro.Incluir(o_nf_parametro);
                         msg = PUB_MENSAGEM.MSG_INCLUSAO;

                    }
                 
                    Master.MSG_ALERTA(msg, "default.aspx", false);
                }

            }
            catch (Exception ex)
            {
                BLL_TB_LOG_ERRO log_erro = new BLL_TB_LOG_ERRO();
                log_erro.IncluirLogErro(ex);
                Master.MSG_ALERTA("Erro ao tentar salvar o formulário");
            }
         
          
        }

        protected void BTN_CANCELAR_Click(object sender, EventArgs e)
        {
            Response.Redirect("nf_parametro_listar.aspx", false);
        }

    
    }
}